package com.xinqi.modules.discuss.discuss.controller.inner;

import com.xinqi.common.base.response.R;
import com.xinqi.modules.discuss.discuss.dto.req.CourseDiscussUpdateDTO;
import com.xinqi.modules.discuss.discuss.dto.rsp.CourseDiscussResultDTO;
import com.xinqi.modules.discuss.discuss.service.CourseDiscussService;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

/**
 * 课程讨论主表内部控制层
 *
 * @author: wenjie
 * @date: 2023/10/30
 */
@Hidden
@RestController
@RequestMapping("/inner/course-discuss")
@RequiredArgsConstructor
public class CourseDiscussInnerController {
    private final CourseDiscussService courseDiscussService;

    /**
     * 根据ID获取条论数据
     */
    @GetMapping("/{id}")
    public R<CourseDiscussResultDTO> findById(@PathVariable("id") Long id) {
        return R.data(courseDiscussService.findById(id));
    }

    /**
     * 班级添加成员 -- 讨论同步
     */
    @PutMapping("/{id}")
    public R<String> update(@PathVariable("id") Long id, @RequestBody CourseDiscussUpdateDTO dto) {
        dto.setId(id);
        String str = courseDiscussService.updateById(dto);
        return R.ok(str);
    }

    /**
     * 评论参与
     */
    @PostMapping("/participate")
    public R<Void> participate(Long classId, Long contentId, Long userId) {
        courseDiscussService.participate(classId, contentId, userId);
        return R.ok();
    }

    /**
     * 班级添加成员 -- 讨论同步
     */
    @PostMapping("/class-add-members")
    public R<Boolean> classAddMembers(Long classId, Long userId) {
        Boolean boo = courseDiscussService.classAddMembers(classId, userId);
        return R.ok(boo);
    }

}
